package org.kjs.common.clone;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * User: KJS
 * Date: 11-8-10
 * Time: 下午7:04
 * To change this template use File | Settings | File Templates.
 */

/**
 * Analysis cloneable object structure.
 * @param <V> Object type
 */
public interface CloneableStructure <V> {

    /**
     * Get all cloneable object's fields.
     * @return cloneable object's fields
     */
    AccessibleFieldStructure<V> [] getAllAccessibleFields ();

    /**
     * Get cloneable object's constructor.
     * @return cloneable object's constructor
     */
    CloneableConstruct<V> getCloneableConstruct ();

}
